DECLARE 
	@COD_MATRIZ_FISCAL	VARCHAR(6),
	@MATRIZ_FISCAL		VARCHAR(25),
	@DATA_INICIAL		DATETIME,
	@DATA_FINAL			DATETIME,
	@DATA_INVENTARIO	DATETIME

-- PREENCHER AS VARIAVEIS ABAIXO PARA RODAR OS SELECTS
SELECT @COD_MATRIZ_FISCAL	= ''
SELECT @MATRIZ_FISCAL		= ''
SELECT @DATA_INICIAL		= ''
SELECT @DATA_FINAL			= ''
SELECT @DATA_INVENTARIO		= ''

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H020
			SELECT
				DATA_INVENTARIO			=	A.DATA_SALDO,
				VALOR_TOTAL_INVENTARIO	=	(CASE WHEN SUM(B.QTDE_SALDO) < 0 THEN 0 ELSE SUM(B.QTDE_SALDO) END) * SUM(B.VALOR_SALDO)
			FROM
				CM_FECHAMENTO_CUSTO_MEDIO AS A
					JOIN CM_ESTOQUE_PA AS B
						ON A.COD_CUSTO_MEDIO	=	B.COD_CUSTO_MEDIO
					JOIN FILIAIS AS C
						ON B.FILIAL				=	C.FILIAL
					JOIN W_LF_MATRIZ_FISCAL AS D
						ON D.NOME_CLIFOR		=	C.MATRIZ_FISCAL
					JOIN PRODUTO_CORES AS E
						ON	B.PRODUTO			=	E.PRODUTO
						AND B.COR_PRODUTO		=	E.COR_PRODUTO
					JOIN PRODUTOS AS F
						ON B.PRODUTO			=	F.PRODUTO
					JOIN CLASSIF_FISCAL AS G
						ON 	F.CLASSIF_FISCAL	= G.CLASSIF_FISCAL
			WHERE
				C.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
				A.DATA_SALDO	=	@DATA_INVENTARIO
			GROUP BY
				A.DATA_SALDO

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H025
			SELECT
				IND_PROP	=	'0',
				COD_PART	=	'',
				IND_INV		=	'4',
				COD_NCM		=	F.CLASSIF_FISCAL,
				COD_ITEM	=	'P' + B.PRODUTO,
				VL_UNIT		=	MAX(B.CUSTO_MEDIO_UNITARIO),
				QTD			=	CASE WHEN SUM(B.QTDE_SALDO) < 0 THEN 0 ELSE SUM(B.QTDE_SALDO) END,
				UNID		=	F.UNIDADE,
				VL_ITEM		=	(CASE WHEN SUM(B.QTDE_SALDO) < 0 THEN 0 ELSE SUM(B.QTDE_SALDO) END) * SUM(B.VALOR_SALDO),
				COD_INF_OBS	=	''
			FROM
				CM_FECHAMENTO_CUSTO_MEDIO AS A
					JOIN CM_ESTOQUE_PA AS B
						ON A.COD_CUSTO_MEDIO	=	B.COD_CUSTO_MEDIO
					JOIN FILIAIS AS C
						ON B.FILIAL				=	C.FILIAL
					JOIN W_LF_MATRIZ_FISCAL AS D
						ON D.NOME_CLIFOR		=	C.MATRIZ_FISCAL
					JOIN PRODUTO_CORES AS E
						ON	B.PRODUTO			=	E.PRODUTO
						AND B.COR_PRODUTO		=	E.COR_PRODUTO
					JOIN PRODUTOS AS F
						ON B.PRODUTO			=	F.PRODUTO
					JOIN CLASSIF_FISCAL AS G
						ON 	F.CLASSIF_FISCAL	= G.CLASSIF_FISCAL
			WHERE
				C.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
				A.DATA_SALDO	=	@DATA_INVENTARIO
			GROUP BY
				F.CLASSIF_FISCAL,
				'P' + B.PRODUTO,
				F.UNIDADE

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H200
			SELECT
				DT_MOV			=	A.EMISSAO,
				DT_DISP			=	'',
				COD_ITEM		=	A.PRODUTO,
				VL_UNIT			=	CASE WHEN A.QTDE = 0 THEN 0 ELSE (A.VALOR / A.QTDE) END,
				QTD				=	A.QTDE,
				UNID			=	A.UNIDADE,
				VL_ITEM			=	A.VALOR,
				IND_OPE			=	A.IND_OPE,
				IND_DOC_OPE		=	A.IND_DOC_OPE,
				TP_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN 'ROMANEIO' ELSE '' END,
				ID_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN A.ROMANEIO_PRODUTO ELSE '' END
			FROM	(
					SELECT EPE.EMISSAO, 'P' + EPE1.PRODUTO AS PRODUTO, SUM(EPE1.QTDE) AS QTDE, SUM(EPE1.VALOR) AS VALOR, P.UNIDADE, 'E' AS IND_OPE, 
							CASE WHEN EPE.NF_ENTRADA IS NULL THEN 'I' ELSE 'F' END AS IND_DOC_OPE, EPE1.ROMANEIO_PRODUTO
					FROM
						ESTOQUE_PROD_ENT AS EPE
						JOIN ESTOQUE_PROD1_ENT AS EPE1 ON
							EPE.ROMANEIO_PRODUTO = EPE1.ROMANEIO_PRODUTO AND
							EPE.FILIAL = EPE1.FILIAL
						JOIN PRODUTOS AS P ON
							EPE1.PRODUTO = P.PRODUTO
						JOIN FILIAIS AS F ON
							EPE.FILIAL = F.FILIAL
						WHERE
							F.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
							EPE.EMISSAO		=	@DATA_INVENTARIO
					GROUP BY
						EPE.EMISSAO, 'P' + EPE1.PRODUTO, P.UNIDADE,
							CASE WHEN EPE.NF_ENTRADA IS NULL THEN 'I' ELSE 'F' END, EPE1.ROMANEIO_PRODUTO
					) AS A

			UNION ALL

			SELECT
				DT_MOV			=	A.EMISSAO,
				DT_DISP			=	'',
				COD_ITEM		=	A.MATERIAL,
				VL_UNIT			=	CASE WHEN A.QTDE = 0 THEN 0 ELSE (A.VALOR / A.QTDE) END,
				QTD				=	A.QTDE,
				UNID			=	A.UNID_ESTOQUE,
				VL_ITEM			=	A.VALOR,
				IND_OPE			=	A.IND_OPE,
				IND_DOC_OPE		=	A.IND_DOC_OPE,
				TP_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN 'ROMANEIO' ELSE '' END,
				ID_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN A.REQ_MATERIAL ELSE '' END
			FROM	(
					SELECT ERM.EMISSAO, 'M' + ERM1.MATERIAL AS MATERIAL, SUM(ERM1.QTDE) AS QTDE, SUM(ERM1.VALOR) AS VALOR, M.UNID_ESTOQUE, 'E' AS IND_OPE, 
							CASE WHEN ERM.NF_ENTRADA IS NULL THEN 'I' ELSE 'F' END AS IND_DOC_OPE, ERM1.REQ_MATERIAL
					FROM
						ESTOQUE_RET_MAT AS ERM
						JOIN ESTOQUE_RET1_MAT AS ERM1 ON
							ERM.REQ_MATERIAL = ERM1.REQ_MATERIAL AND
							ERM.FILIAL = ERM1.FILIAL
						JOIN MATERIAIS AS M ON
							ERM1.MATERIAL = M.MATERIAL
						JOIN FILIAIS AS F ON
							ERM.FILIAL = F.FILIAL
						WHERE
							F.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
							ERM.EMISSAO		=	@DATA_INVENTARIO
					GROUP BY
						ERM.EMISSAO, 'M' + ERM1.MATERIAL, M.UNID_ESTOQUE,
							CASE WHEN ERM.NF_ENTRADA IS NULL THEN 'I' ELSE 'F' END, ERM1.REQ_MATERIAL
					) AS A

			UNION ALL

			SELECT
				DT_MOV			=	A.EMISSAO,
				DT_DISP			=	'',
				COD_ITEM		=	A.PRODUTO,
				VL_UNIT			=	CASE WHEN A.QTDE = 0 THEN 0 ELSE (A.VALOR / A.QTDE) END,
				QTD				=	A.QTDE,
				UNID			=	A.UNIDADE,
				VL_ITEM			=	A.VALOR,
				IND_OPE			=	A.IND_OPE,
				IND_DOC_OPE		=	A.IND_DOC_OPE,
				TP_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN 'ROMANEIO' ELSE '' END,
				ID_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN A.ROMANEIO_PRODUTO ELSE '' END
			FROM	(
					SELECT EPS.EMISSAO, 'P' + EPS1.PRODUTO AS PRODUTO, SUM(EPS1.QTDE) AS QTDE, SUM(EPS1.VALOR) AS VALOR, P.UNIDADE, 'S' AS IND_OPE, 
							CASE WHEN EPS.NF_SAIDA IS NULL THEN 'I' ELSE 'F' END AS IND_DOC_OPE, EPS1.ROMANEIO_PRODUTO
					FROM
						ESTOQUE_PROD_SAI AS EPS
						JOIN ESTOQUE_PROD1_SAI AS EPS1 ON
							EPS.ROMANEIO_PRODUTO = EPS1.ROMANEIO_PRODUTO AND
							EPS.FILIAL = EPS1.FILIAL
						JOIN PRODUTOS AS P ON
							EPS1.PRODUTO = P.PRODUTO
						JOIN FILIAIS AS F ON
							EPS.FILIAL = F.FILIAL
						WHERE
							F.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
							EPS.EMISSAO		=	@DATA_INVENTARIO
					GROUP BY
						EPS.EMISSAO, 'P' + EPS1.PRODUTO, P.UNIDADE,
							CASE WHEN EPS.NF_SAIDA IS NULL THEN 'I' ELSE 'F' END, EPS1.ROMANEIO_PRODUTO
					) AS A

			UNION ALL

			SELECT
				DT_MOV			=	A.EMISSAO,
				DT_DISP			=	'',
				COD_ITEM		=	A.MATERIAL,
				VL_UNIT			=	CASE WHEN A.QTDE = 0 THEN 0 ELSE (A.VALOR / A.QTDE) END,
				QTD				=	A.QTDE,
				UNID			=	A.UNID_ESTOQUE,
				VL_ITEM			=	A.VALOR,
				IND_OPE			=	A.IND_OPE,
				IND_DOC_OPE		=	A.IND_DOC_OPE,
				TP_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN 'ROMANEIO' ELSE '' END,
				ID_DOC_INT		=	CASE WHEN A.IND_DOC_OPE = 'I' THEN A.REQ_MATERIAL ELSE '' END
			FROM	(
					SELECT ESM.EMISSAO, 'M' + ESM1.MATERIAL AS MATERIAL, SUM(ESM1.QTDE) AS QTDE, SUM(ESM1.VALOR) AS VALOR, M.UNID_ESTOQUE, 'S' AS IND_OPE, 
							CASE WHEN ESM.NF_SAIDA IS NULL THEN 'I' ELSE 'F' END AS IND_DOC_OPE, ESM1.REQ_MATERIAL
					FROM
						ESTOQUE_SAI_MAT AS ESM
						JOIN ESTOQUE_SAI1_MAT AS ESM1 ON
							ESM.REQ_MATERIAL = ESM1.REQ_MATERIAL AND
							ESM.FILIAL = ESM1.FILIAL
						JOIN MATERIAIS AS M ON
							ESM1.MATERIAL = M.MATERIAL
						JOIN FILIAIS AS F ON
							ESM.FILIAL = F.FILIAL
						WHERE
							F.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
							ESM.EMISSAO		=	@DATA_INVENTARIO
					GROUP BY
						ESM.EMISSAO, 'M' + ESM1.MATERIAL, M.UNID_ESTOQUE,
							CASE WHEN ESM.NF_SAIDA IS NULL THEN 'I' ELSE 'F' END, ESM1.REQ_MATERIAL
					) AS A

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H230
SELECT 
	DT_INI_OP	=	INICIO_REAL,
	DT_FIN_OP	=	ENCERRAMENTO,
	COD_DOC_OP	=	A.ORDEM_PRODUCAO,
	COD_ITEM	=	A.PRODUTO,
	QTD_PROD	=	QTDE_TOTAL,
	UNID		=	UNIDADE,
	CUSTO_INC	=	C.XTOTCONS,
	QTD_ENC		=	QTDE_TOTAL	-	QTDE_EM_PRODUCAO,
	SD_CUST_INC	=	D.VALOR
FROM PRODUCAO_ORDEM A
	INNER JOIN PRODUTOS B ON 
		A.PRODUTO = B.PRODUTO
	LEFT JOIN 
		(SELECT	ORDEM_PRODUCAO,
				CASE WHEN UPPER(TIPO)<>'SAIDAS PA' THEN SUM(CUSTO) ELSE 0 END AS XTOTCONS,
				CASE WHEN UPPER(TIPO)='SAIDAS MP' THEN SUM(CUSTO) ELSE 0 END AS XTOTSAI,
				CASE WHEN UPPER(TIPO)='RETORNO MP' THEN SUM(CUSTO) ELSE 0 END AS XTOTRET,
				CASE WHEN UPPER(TIPO)='SAIDAS PA' THEN SUM(CUSTO) ELSE 0 END AS XTOTSAIPA
		FROM 
		(
		SELECT
			ESTOQUE_SAI_MAT.REQ_MATERIAL + '                  ' AS DOCUMENTO, ESTOQUE_SAI_MAT.FILIAL, ESTOQUE_SAI_MAT.EMISSAO, 
			ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO, ESTOQUE_SAI_MAT.RESPONSAVEL, ESTOQUE_SAI1_MAT.MATERIAL, ESTOQUE_SAI1_MAT.COR_MATERIAL, 
			'SAIDAS MP' AS TIPO, (ESTOQUE_SAI1_MAT.QTDE_AUX) AS Q_AUX, (ESTOQUE_SAI1_MAT.QTDE) AS QTDE, ESTOQUE_SAI1_MAT.CUSTO AS CUSTO, 
			(ESTOQUE_SAI1_MAT.QTDE * ESTOQUE_SAI1_MAT.CUSTO) AS TOTAL_CUSTO, MATERIAIS.GRUPO, MATERIAIS.SUBGRUPO, MATERIAIS.DESC_MATERIAL, 
			MATERIAIS.FABRICANTE, MATERIAIS.UNID_ESTOQUE, MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS_CORES.REFER_FABRICANTE
		FROM
			ESTOQUE_SAI1_MAT
			JOIN ESTOQUE_SAI_MAT ON
				ESTOQUE_SAI_MAT.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND
				ESTOQUE_SAI_MAT.FILIAL = ESTOQUE_SAI1_MAT.FILIAL
			JOIN MATERIAIS ON
				ESTOQUE_SAI1_MAT.MATERIAL = MATERIAIS.MATERIAL
			JOIN MATERIAIS_CORES ON
				ESTOQUE_SAI1_MAT.MATERIAL = MATERIAIS_CORES.MATERIAL AND
				ESTOQUE_SAI1_MAT.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL
			JOIN FILIAIS ON
				ESTOQUE_SAI_MAT.FILIAL = FILIAIS.FILIAL
		WHERE
			FILIAIS.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
			ESTOQUE_SAI_MAT.EMISSAO	=	@DATA_INVENTARIO
		UNION ALL
    
		SELECT
			ESTOQUE_RET_MAT.REQ_MATERIAL AS DOCUMENTO, ESTOQUE_RET_MAT.FILIAL, ESTOQUE_RET_MAT.EMISSAO,
			ESTOQUE_RET1_MAT.ORDEM_PRODUCAO, ESTOQUE_RET_MAT.RESPONSAVEL, ESTOQUE_RET1_MAT.MATERIAL, ESTOQUE_RET1_MAT.COR_MATERIAL,
			'RETORNO MP' AS TIPO, (-ESTOQUE_RET1_MAT.QTDE_AUX) AS Q_AUX, (-ESTOQUE_RET1_MAT.QTDE) AS QTDE, ESTOQUE_RET1_MAT.CUSTO_ULT_SAIDA AS CUSTO, 
			(-ESTOQUE_RET1_MAT.QTDE * ESTOQUE_RET1_MAT.CUSTO_ULT_SAIDA) AS TOTAL_CUSTO, MATERIAIS.GRUPO, MATERIAIS.SUBGRUPO, MATERIAIS.DESC_MATERIAL, 
			MATERIAIS.FABRICANTE, MATERIAIS.UNID_ESTOQUE, MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS_CORES.REFER_FABRICANTE
		FROM
			ESTOQUE_RET1_MAT
			JOIN ESTOQUE_RET_MAT ON
				ESTOQUE_RET_MAT.REQ_MATERIAL = ESTOQUE_RET1_MAT.REQ_MATERIAL AND
				ESTOQUE_RET_MAT.FILIAL = ESTOQUE_RET1_MAT.FILIAL
			JOIN MATERIAIS ON
				ESTOQUE_RET1_MAT.MATERIAL = MATERIAIS.MATERIAL
			JOIN MATERIAIS_CORES ON
				ESTOQUE_RET1_MAT.MATERIAL = MATERIAIS_CORES.MATERIAL AND
				ESTOQUE_RET1_MAT.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL      
			JOIN FILIAIS ON
				ESTOQUE_RET_MAT.FILIAL = FILIAIS.FILIAL
		WHERE
			FILIAIS.MATRIZ_FISCAL	=	@MATRIZ_FISCAL		AND
			ESTOQUE_RET_MAT.EMISSAO	=	@DATA_INVENTARIO
		UNION ALL

		SELECT
			ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO AS DOCUMENTO, ESTOQUE_PROD_SAI.FILIAL, ESTOQUE_PROD_SAI.EMISSAO, ESTOQUE_PROD_SAI.ORDEM_PRODUCAO, 
			ESTOQUE_PROD_SAI.RESPONSAVEL, ESTOQUE_PROD1_SAI.PRODUTO AS MATERIAL, ESTOQUE_PROD1_SAI.COR_PRODUTO AS COR_MATERIAL, 
			'SAIDAS PA' AS TIPO, 0 AS Q_AUX, ESTOQUE_PROD1_SAI.QTDE AS QTDE, ESTOQUE_PROD1_SAI.CUSTO1 AS CUSTO, 
			(ESTOQUE_PROD1_SAI.QTDE*ESTOQUE_PROD1_SAI.CUSTO1) AS TOTAL_CUSTO, GRUPO_PRODUTO AS GRUPO, SUBGRUPO_PRODUTO AS SUBGRUPO, 
			PRODUTOS.DESC_PRODUTO AS DESC_MATERIAL, FABRICANTE, UNIDADE AS UNID_ESTOQUE, PRODUTO_CORES.DESC_COR_PRODUTO AS DESC_COR_MATERIAL, 
			REFER_FABRICANTE AS REFER_FABRICANTE      
		FROM
			ESTOQUE_PROD_SAI
			JOIN ESTOQUE_PROD1_SAI ON
				ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND
				ESTOQUE_PROD1_SAI.FILIAL = ESTOQUE_PROD_SAI.FILIAL
			JOIN PRODUTO_CORES ON
				ESTOQUE_PROD1_SAI.PRODUTO = PRODUTO_CORES.PRODUTO AND
				ESTOQUE_PROD1_SAI.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO
			JOIN PRODUTOS ON
				ESTOQUE_PROD1_SAI.PRODUTO = PRODUTOS.PRODUTO
			JOIN FILIAIS ON
				ESTOQUE_PROD_SAI.FILIAL = FILIAIS.FILIAL
		WHERE
			FILIAIS.MATRIZ_FISCAL		=	@MATRIZ_FISCAL		AND
			ESTOQUE_PROD_SAI.EMISSAO	=	@DATA_INVENTARIO
		) A GROUP BY ORDEM_PRODUCAO,TIPO) C ON 
			A.ORDEM_PRODUCAO = C.ORDEM_PRODUCAO
	LEFT JOIN 
		(SELECT DISTINCT VALOR,PRODUTO,ORDEM_PRODUCAO FROM ESTOQUE_PROD1_ENT)  D ON 
			A.ORDEM_PRODUCAO = D.ORDEM_PRODUCAO AND A.PRODUTO = D.PRODUTO

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H235
SELECT 
	DT_INCL		=	B.DATA_CUSTO,
	COD_ITEM	=	(A.MATERIAL + A.COR_MATERIAL),
	QTD			=	QTDE,
	UNID		=	C.UNID_ESTOQUE,
	VL_UNIT		=	QTDE * CUSTO
FROM
	PRODUCAO_RESERVA AS A
	JOIN PRODUCAO_ORDEM AS PO ON
		A.ORDEM_PRODUCAO = PO.ORDEM_PRODUCAO
	JOIN FILIAIS AS F ON
		PO.FILIAL = F.FILIAL
	LEFT JOIN 
		(SELECT ORDEM_PRODUCAO,MATERIAL,COR_MATERIAL,DATA_CUSTO,SUM(QTDE) AS QTDE,AVG(CUSTO) AS CUSTO
		FROM ESTOQUE_SAI1_MAT
		GROUP BY ORDEM_PRODUCAO,MATERIAL,COR_MATERIAL,DATA_CUSTO) AS B ON 
			A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.MATERIAL = B.MATERIAL AND A.COR_MATERIAL = B.COR_MATERIAL
	INNER JOIN MATERIAIS C ON 
		A.MATERIAL = C.MATERIAL
WHERE
	F.MATRIZ_FISCAL =	@MATRIZ_FISCAL	AND
	B.DATA_CUSTO	=	@DATA_INVENTARIO

----------------------------------------------------------------------------------------------------------------------------------------------------
-- H240
SELECT 
	DT_INI		=	EMISSAO,
	DT_FIN		=	EMISSAO,
	COD_ITEM	=	A.PRODUTO,
	QTD_ENC		=	SUM(QTDE),
	UNID		=	UNIDADE,
	SD_CUST_INC	=	0.00
FROM
	ESTOQUE_PROD1_ENT AS A
	INNER JOIN ESTOQUE_PROD_ENT AS B ON 
		A.ROMANEIO_PRODUTO = B.ROMANEIO_PRODUTO AND 
		A.FILIAL = B.FILIAL
	INNER JOIN PRODUTOS AS C ON 
		A.PRODUTO = C.PRODUTO 
	JOIN FILIAIS AS F ON
		A.FILIAL = F.FILIAL
WHERE
	A.ORDEM_PRODUCAO	IS	NOT NULL		AND
	F.MATRIZ_FISCAL		=	@MATRIZ_FISCAL	AND
	B.EMISSAO			=	@DATA_INVENTARIO
GROUP BY
	EMISSAO, A.PRODUTO, UNIDADE
---------------------------------------------------------------------------------------------------------------------------
-- REGISTRO H250
---------------------------------------------------------------------------------------------------------------------------

